package iedcyt.acute.businessServices.IServices;

import iedcyt.acute.businessServices.cache.domain.ErrorLog;
import iedcyt.acute.result.Result;

/**
 * Servicio de log de errores. Permite guardar y acceder a las trazas de los errores ocurridos guardads en cache
 * @author 53385255R
 *
 */
public interface IErrorLogService {

	
/**
 * Obtener los errores comprendidos en cache entre id1 e id2
 * @param id1 identificador de error
 * @param id2 identificador de error
 * @return listado de errores
 */
	Result<ErrorLog> getErrors(int id1, int id2);

	/**
	 * Eliminar todos los errores guardados
	 * @return resultado de la accion
	 */
	Result<Object> deleteAllErrorLogs();

	/**
	 * Obtener el maximo identificador de error
	 * @return id error
	 */
	Result<Integer> getMaxIdErrorLog();

	/**
	 * Obtiene el log de error determinado
	 * @param id id del error
	 * @return el error pedido
	 */
	Result<ErrorLog> getErrorLogsById(int id);
/**
 * elimina el log de un error
 * @param id id del error
 * @return resultado de la accion
 */
	Result<Object> deleteErrorLog(int id);
	
}
